package com.ty.cloudpicture.model.vo;

import cn.hutool.json.JSONUtil;
import com.ty.cloudpicture.model.entity.Picture;
import com.ty.cloudpicture.model.entity.Space;
import lombok.Data;
import org.springframework.beans.BeanUtils;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;

@Data
public class SpaceVO implements Serializable {
  
    /**  
     * id  
     */  
    private Long id;
  
    /**  
     * 空间名称
     */  
    private String spaceName;

  
    /**  
     * 空间最大总大小
     */  
    private Long maxSize;

    /**
     * 空间最大总图片数
     */
    private Long maxCount;
    /**  
     * 创建时间  
     */  
    private LocalDateTime createTime;
  
    /**  
     * 编辑时间  
     */  
    private LocalDateTime editTime;
  
    /**  
     * 更新时间  
     */  
    private LocalDateTime updateTime;

    /**
     * 创建用户id
     */
    private Long userId;

    /**  
     * 创建用户信息  
     */  
    private UserVO user;

    /**
     * 空间类型：0-私有 1-团队
     */
    private Integer spaceType;

    /**
     * 权限列表
     */
    private List<String> permissionList = new ArrayList<>();

    private static final long serialVersionUID = 1L;  
  
    /**  
     * 封装类转对象  
     */  
    public static Picture voToObj(SpaceVO spaceVO) {
        if (spaceVO == null) {
            return null;  
        }  
        Picture picture = new Picture();  
        BeanUtils.copyProperties(spaceVO, picture);
        return picture;  
    }  
  
    /**  
     * 对象转封装类  
     */  
    public static SpaceVO objToVo(Space space) {
        if (space == null) {
            return null;  
        }  
        SpaceVO pictureVO = new SpaceVO();
        BeanUtils.copyProperties(space, pictureVO);
        return pictureVO;  
    }  
}
